SCS Sensor Configuration Editor

NMEA Message Definitions

NMEA 0183 is a combined electrical and data specification for communication between marine electronics such as echo sounder, sonars, anemometer, gyrocompass, autopilot, GPS receivers and many other types of instruments. It has been defined by, and is controlled by, the National Marine Electronics Association. It replaces the earlier NMEA 0180 and NMEA 0182 standards.

The electrical standard that is used is EIA-422, although most hardware with NMEA-0183 outputs are also able to drive a single EIA-232 port. Although the standard calls for isolated inputs and outputs, there are various series of hardware that do not adhere to this requirement.

The NMEA 0183 standard uses a simple ASCII, serial communications protocol that defines how data are transmitted in a "sentence" from one "talker" to multiple "listeners" at a time. Through the use of intermediate expanders, a talker can have a unidirectional conversation with a nearly unlimited number of listeners, and using multiplexers, multiple sensors can talk to a single computer port.

At the application layer, the standard also defines the contents of each sentence (message) type, so that all listeners can parse messages accurately.

The new standard, NMEA 2000, accommodates several talkers at a higher baud rate, without using a central hub, or round-robin packet buffering.

 

At the time of this writing SCS does not support NMEA 2000.

 

Inside SCS a NMEA message is a special type of Delimited Message which is always in the NMEA-183 Standard format or equivalent.  In contrast to fixed messages, NMEA messages may have variable record length.  The order of the data fields is constant, but the number of characters in each field can change.  Commas serve to separate all data fields.  Also, a physical device often sends more than one message, each distinguished by a unique identifier (called a Sentence Label).  You must create a message definition for each message that ACQ will be accepting from the device. Thus, interfacing a Trimble GPS receiver sending $GPGGA and $GPVTG messages would require two NMEA message definitions: one for the Trimble $GPGGA message and the other for the Trimble $GPVTG message. 

 

Example

Below is an example of a GPS GGA (essential fix data which provide 3D location and accuracy data) NMEA message.  Note the message begins with $GPGGA (the sentence label) which is used to define the following comma delimited data.  ALL GGA messages, regardless of device, should output their data in the exact same format.  This makes NMEA sensors much easier to understand and integrate into SCS as they all should comply with the standard.

 $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47

Where:
     GGA          Global Positioning System Fix Data
     123519       Fix taken at 12:35:19 UTC
     4807.038,N   Latitude 48 deg 07.038' N
     01131.000,E  Longitude 11 deg 31.000' E
     1            Fix quality: 0 = invalid
                               1 = GPS fix (SPS)
                               2 = DGPS fix
                               3 = PPS fix
                   4 = Real Time Kinematic
                   5 = Float RTK
                               6 = estimated (dead reckoning) (2.3 feature)
                   7 = Manual input mode
                   8 = Simulation mode
     08           Number of satellites being tracked
     0.9          Horizontal dilution of position
     545.4,M      Altitude, Meters, above mean sea level
     46.9,M       Height of geoid (mean sea level) above WGS84
                      ellipsoid
     (empty field) time in seconds since last DGPS update
     (empty field) DGPS station ID number
     *47          the checksum data, always begins with *

 

 

SCS has the majority of known NMEA Message Definitions already pre-defined for you.  When creating a new NMEA Message Definition you must select a Sentence Label which matches the feed you are trying to ingest.  For your convenience SCS will automatically create a full definition matching what it thinks the settings would be to ingest a stream with that sentence label.  It also creates all known Data Fields for the message.  This results in a large number of Data Fields which are not actually needed by your setup, feel free to select and delete any which are not required in your use cases.  

 

 

The Basic tab consists of the following fields:

 

 

The Advanced tab consists of the following fields:

 

 

 

 

 

 

 

SCSv5                                                                                                        Page 1 of 1